home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1996 #15 / Monster Media Number 15 (Monster Media)(July 1996).ISO / pcboard / makeup1.zip / MAKEUP.PPS < prev    next >
Text File  |  1996-03-26  |  10KB  |  186 lines

  1.  
  2. ;-----------------------------------------------------------------------------
  3. ;|                                                                           |
  4. ;|                            MAKEUP.PPE v1.0                                |
  5. ;|              PCBOARD 15.0+ Force address update on login                  |
  6. ;|                           Atlantis Software                               |
  7. ;|                       Atlantis BBS 706-776-9276                           |
  8. ;|                                                                           |
  9. ;-----------------------------------------------------------------------------
  10. ;| Define Variables                                                          |
  11. ;-----------------------------------------------------------------------------
  12.  
  13. INTEGER Lp
  14. STRING  Menu_Command, Answer, InputChar, Verification_Command
  15. STRING  Command_A, Command_B, Command_C, Command_D
  16. STRING  Command_E, Command_F, Command_G
  17.  
  18. ;-----------------------------------------------------------------------------
  19. ;| Start Program                                                             |
  20. ;-----------------------------------------------------------------------------
  21.  
  22. GETUSER
  23. IF ((PSA(2) = 0) & (PSA(3) = 0)) STOP
  24.  
  25. IF ((STRIP(U_ADDR(0), " ") = "" & (STRIP(U_ADDR(1), " ") = "")) | (STRIP(U_ADDR(2), " ") = "") | (STRIP(U_ADDR(3), " ") = "") | (STRIP(U_ADDR(4), " ") = "") | (STRIP(U_ADDR(5), " ") = "") | (PSA(2) & STRIP(U_VER, " ") = "")) GOTO MAIN_PROGRAM
  26. END
  27.  
  28. :MAIN_PROGRAM
  29.      GOSUB FORMAT_COMMANDS
  30.  
  31.      Menu_Command = ""
  32. PRINTLN "@CLS@@X60@POS:80@@X0F"
  33. PRINTLN "@X60  @X0F Date: @X0E@SYSDATE@@BOARDNAME:45C@@X0FTime: @X0E@SYSTIME@ ET @X60@POS:80@@X0F"
  34. PRINTLN "@X60  @X0F Carrier:@X0E@CARRIER:6R@@X0A               Login Interrupt               @X0FTime Left:@X0E@MINLEFT:4R@ @X60@POS:80@@X0F"
  35. PRINTLN "@X60@POS:80@@X0F"
  36. NEWLINE
  37. PRINTLN "  Your registration is incomplete.  Please complete your @X0EAddress Information@X0F."
  38. NEWLINE
  39. PRINTLN "         @X0AA @X0FLine 1, Street (Mail) Address   @X0AD @X0FProvince or State"
  40. PRINTLN "         @X0AB @X0FLine 2, Street (Mail) Address   @X0AE @X0FPostal/Zipcode"
  41. PRINTLN "         @X0AC @X0FCity, Town or Village           @X0AF @X0FCountry, Nation or Region"
  42.      IF (PSA(2) <> 0) THEN
  43. PRINTLN "         @G @X0FVerification Information           @X0AQ @X0FQuit and Save Corrections"
  44.          InputChar = "abcdefgqABCDEFGQ"
  45.      ELSE
  46. PRINTLN "                          @X0AQ @X0FQuit and Save Corrections"
  47.          InputChar = "abcdefqABCDEFQ"
  48.      END IF
  49.  
  50. PRINTLN "         @X06┌───────────────────────────────────────────────────────────┐"
  51. PRINTLN "         @X06│ @X0AA @X0F=   @X0E" + Command_A + "@POS:70@@X06│"
  52. PRINTLN "         @X06│ @X0AB @X0F=   @X0E" + Command_B + "@POS:70@@X06│"
  53. PRINTLN "         @X06│ @X0AC @X0F=   @X0E" + Command_C + "@POS:46@@X0AE @X0F= @X0E" + Command_E + "@POS:70@@X06│"
  54. PRINTLN "         @X06│ @X0AD @X0F=   @X0E" + Command_D + "@POS:46@@X0AF @X0F= @X0E" + Command_F + "@POS:70@@X06│"
  55.          IF (PSA(2) <> 0) THEN
  56. PRINTLN "         @X06│ @X0AG @X0F=   @X0E" + Command_G + "@POS:46@@X0F<-- WILL NOT ECHO" + "@POS:70@@X06│"
  57. PRINTLN "         @X06└───────────────────────────────────────────────────────────┘"
  58.          ELSE
  59. PRINTLN "         @X06└───────────────────────────────────────────────────────────┘"
  60.          END IF
  61.  
  62.      INPUTSTR "@X0FWhich field would you like to revise@X0A", Menu_Command, 0Eh, 1, InputChar, FIELDLEN + GUIDE + UPCASE + LFBEFORE + ERASELINE
  63.        IF (Menu_Command = "A") GOSUB USER_ADDR0
  64.        IF (Menu_Command = "B") GOSUB USER_ADDR1
  65.        IF (Menu_Command = "C") GOSUB USER_ADDR2
  66.        IF (Menu_Command = "D") GOSUB USER_ADDR3
  67.        IF (Menu_Command = "E") GOSUB USER_ADDR4
  68.        IF (Menu_Command = "F") GOSUB USER_ADDR5
  69.        IF (Menu_Command = "G" & PSA(2)) GOSUB USER_VERIFICATION
  70.        IF (Menu_Command = "Q") GOTO END_PROGRAM
  71.        IF (Menu_Command = "") GOTO END_PROGRAM
  72.      GOTO MAIN_PROGRAM
  73.  
  74. :FORMAT_COMMANDS
  75.      LET Command_A = LEFT(RTRIM(U_ADDR(0), CHR(32)) + "·················································", 49)
  76.      LET Command_B = LEFT(RTRIM(U_ADDR(1), CHR(32)) + "·················································", 49)
  77.      LET Command_C = LEFT(RTRIM(U_ADDR(2), CHR(32)) + "·························", 25)
  78.      LET Command_D = LEFT(RTRIM(U_ADDR(3), CHR(32)) + "·························", 25)
  79.      LET Command_E = LEFT(RTRIM(U_ADDR(4), CHR(32)) + "···············", 15)
  80.      LET Command_F = LEFT(RTRIM(U_ADDR(5), CHR(32)) + "···············", 15)
  81.      LET Command_G = LEFT(RTRIM(U_VER, CHR(32)) + "·························", 25)
  82.  
  83.      FOR Lp = 1 TO (LEN(U_VER))
  84.          Command_G = REPLACE(Command_G, MID(Command_G, Lp, 1), "*")
  85.      NEXT
  86.      RETURN
  87.  
  88. :USER_ADDR0
  89.      IF (EXIST(PPEPATH() + "makeupA")) DISPFILE PPEPATH() + "makeupA", LANG + SEC + GRAPH
  90.      INPUTSTR "@X0FLine 1, Street (Mail) Address@X0A", U_ADDR(0), 0Eh, 50, MASK_ALPHA() + MASK_NUM() + MASK_ASCII(), FIELDLEN + GUIDE + UPCASE + LFBEFORE
  91.      RETURN
  92.  
  93. :USER_ADDR1
  94.      IF (EXIST(PPEPATH() + "makeupB")) DISPFILE PPEPATH() + "makeupB", LANG + SEC + GRAPH
  95.      INPUTSTR "@X0FLine 2, Street (Mail) Address@X0A", U_ADDR(1), 0Eh, 50, MASK_ALPHA() + MASK_NUM() + MASK_ASCII(), FIELDLEN + GUIDE + UPCASE + LFBEFORE
  96.      RETURN
  97.  
  98. :USER_ADDR2
  99.      IF (EXIST(PPEPATH() + "makeupC")) DISPFILE PPEPATH() + "makeupC", LANG + SEC + GRAPH
  100.      INPUTSTR "@X0FCity, Town or Village@X0A", U_ADDR(2), 0Eh, 25, MASK_ALPHA() + MASK_NUM() + MASK_ASCII(), FIELDLEN + GUIDE + UPCASE + LFBEFORE
  101.      RETURN
  102.  
  103. :USER_ADDR3
  104.      IF (EXIST(PPEPATH() + "makeupD")) DISPFILE PPEPATH() + "makeupD", LANG + SEC + GRAPH
  105.      INPUTSTR "@X0FProvince or State@X0A", U_ADDR(3), 0Eh, 10, MASK_ALPHA() + MASK_NUM() + MASK_ASCII(), FIELDLEN + GUIDE + UPCASE + LFBEFORE
  106.      RETURN
  107.  
  108. :USER_ADDR4
  109.      IF (EXIST(PPEPATH() + "makeupE")) DISPFILE PPEPATH() + "makeupE", LANG + SEC + GRAPH
  110.      INPUTSTR "@X0FPostal/Zipcode@X0A", U_ADDR(4), 0Eh, 10, MASK_ALPHA() + MASK_NUM() + MASK_ASCII(), FIELDLEN + GUIDE + UPCASE + LFBEFORE
  111.      RETURN
  112.  
  113. :USER_ADDR5
  114.      IF (EXIST(PPEPATH() + "makeupF")) DISPFILE PPEPATH() + "makeupF", LANG + SEC + GRAPH
  115.      INPUTSTR "@X0FCountry, Nation or Region@X0A", U_ADDR(5), 0Eh, 15, MASK_ALPHA() + MASK_NUM() + MASK_ASCII(), FIELDLEN + GUIDE + UPCASE + LFBEFORE
  116.      RETURN
  117.  
  118. :USER_VERIFICATION
  119.      IF (REPLACE(TRIM(STRIP(U_VER, CHR(255)), " "), CHR(255), " ") <> "") THEN
  120.          NEWLINE
  121.          PRINTLN "        @X0EIf you need to change or alter this field, you must first enter"
  122.          PRINTLN "               the information exactly like it was first entered."
  123.          PROMPTSTR 707, Verification_Command, 25, MASK_ALPHA() + MASK_NUM() + MASK_ASCII(), FIELDLEN + GUIDE + UPCASE + LFBEFORE + LFAFTER + NEWLINE
  124.          IF (Verification_Command = U_VER) THEN
  125.              IF (EXIST(PPEPATH() + "makeupG")) DISPFILE PPEPATH() + "makeupG", LANG + SEC + GRAPH
  126.              PROMPTSTR 706, U_VER, 25, MASK_ASCII(), FIELDLEN + GUIDE + UPCASE + LFBEFORE + LFAFTER
  127.          ELSE
  128.              IF (Verification_Command <> "") THEN
  129.                  PRINTLN "        @X0FSorry, the User Verification Information you just entered, does"
  130.                  PRINTLN "               @X0ENOT @X0Fmatch the information you previuosly entered."
  131.                  NEWLINE
  132.                  WAIT
  133.              END IF
  134.          END IF
  135.      ELSEIF (REPLACE(TRIM(STRIP(U_VER, CHR(255)), " "), CHR(255), " ") = "") THEN
  136.          IF (EXIST(PPEPATH() + "makeupG")) DISPFILE PPEPATH() + "makeupG", LANG + SEC + GRAPH
  137.          PROMPTSTR 706, U_VER, 25, MASK_ASCII(), FIELDLEN + GUIDE + UPCASE + LFBEFORE
  138.      END IF
  139.      RETURN
  140.  
  141. :END_PROGRAM
  142.      IF ((STRIP(U_ADDR(0), " ") = "" & (STRIP(U_ADDR(1), " ") = "")) | (STRIP(U_ADDR(2), " ") = "") | (STRIP(U_ADDR(3), " ") = "") | (STRIP(U_ADDR(4), " ") = "") | (STRIP(U_ADDR(5), " ") = "") | (PSA(2) & STRIP(U_VER, " ") = "")) GOTO NO_USER_INFO
  143.      CLS
  144.      NEWLINE
  145.      PRINTLN "           @X0FThanks for taking the time to complete your registration."
  146.      PRINTLN "  This information will enable us to automate the completion of order forms"
  147.      PRINTLN "           and other registrations that you may select while online."
  148.      PRINTLN
  149.      PRINTLN "         If you need to update your address information in the future,"
  150.      PRINTLN "                      go to the @X0EUSER @X0FMenu and select ""@X0AW@X0F""."
  151.      NEWLINE
  152.      LOG "User updated his address information via MAKEUP.PPE", 0
  153.      DISPTEXT 273, LFAFTER + BELL
  154.      NEWLINE
  155.      PUTUSER
  156.      WAIT
  157.      END
  158.  
  159. :NO_USER_INFO
  160.      Answer = (UPPER(NOCHAR()))
  161.      CLS
  162.      NEWLINE
  163.      PRINTLN "           @X0EThe following fields are still empty and need to filled:"
  164.      NEWLINE
  165.      IF ((STRIP(U_ADDR(0), " ") = "") & (STRIP(U_ADDR(1), " ") = "")) PRINTLN "                          @X0AA@X0F @X0FLine 1, Street (Mail) Address"
  166.      IF (STRIP(U_ADDR(2), " ") = "") PRINTLN "                          @X0AC@X0F City, Town or Village"
  167.      IF (STRIP(U_ADDR(3), " ") = "") PRINTLN "                          @X0AD@X0F Province or State"
  168.      IF (STRIP(U_ADDR(4), " ") = "") PRINTLN "                          @X0AE@X0F Postal/Zipcode"
  169.      IF (STRIP(U_ADDR(5), " ") = "") PRINTLN "                          @X0AF@X0F Country, Nation or Region"
  170.      IF ((PSA(2)) & (STRIP(U_VER, " ") = "")) PRINTLN "                          @X0AG@X0F Verification Information"
  171.      NEWLINE
  172.      PRINTLN "                    @X0FWe apologize for the inconvenience, but"
  173.      PRINTLN "         you @X0EMUST @X0Fprovide the above information in order to continue."
  174.      NEWLINE
  175.      INPUTYN "@X0FWould you rather logoff (@X0Ay@X0F/@X0AN@X0F)@X0A", Answer, 0Ah
  176.      IF (UPPER(LEFT(Answer, 1)) = YESCHAR()) THEN
  177.          LOG "User refused to complete registration with address info via MAKEUP.PPE.", 0
  178.          GOTO SEEYA_LATER
  179.      END IF
  180.      GOTO MAIN_PROGRAM
  181.  
  182. :SEEYA_LATER
  183.      PUTUSER
  184.      BYE
  185.      END
  186.